Microsoft Azure是微软基于云计算的操作系统,原名“Windows Azure”,和Azure Services Platform一样,是微软“软件和服务”技术的名称。Microsoft Azure的主要目标是为开发者提供一个平台,帮助开发可运行在云服务器、数据中心、Web和PC上的应用程序。云计算的开发者能使用微软全球数据中心的储存、计算能力和网络基础服务。
SAS(Shared Access Signature)即共享访问签名。在Windows Azure中,SAS token是一个经过认证的URL,它能够授予对Azure存储数据的访问权限。
SAS的访问权限可由用户自定义。访问的内容可以是单个文件、容器或整个存储帐户,权限介于只读和完全控制之间。过期时间也可以自定义,并允许用户创建无限期的访问 token。
这种精细的操作划分为用户带来了极大灵活性和机动性,但也可能会导致授权过多带来的一系列风险。在权限最大的情况下,token可以永久开放对整个帐户的所有权限,基本上与账户密钥的访问权限相同。
SAS token有3种类型:账户SAS、服务SAS和用户授权SAS。其中,最常用的是账户SAS token,微软的Repo中使用的也是这种token。
用户配置token的范围、权限和有效期,然后生成token。随后在后台中,浏览器会从Azure下载帐户密钥,并用密钥签署生成的token。整个过程都将在浏览器上完成,与Azure云中的资源或事件无关。
因此,当用户创建了一个具有高权限且无限期的token时,管理员根本无法得知这个token的地点以及流通范围。这使得想要吊销token变得十分困难。管理员需要轮换签署token的帐户密钥,从而使所有由相同密钥签署的其他令牌也变得无效。这个缺陷让这项服务很容易成为寻找暴露数据的攻击目标。
除了意外暴露的风险,该服务的缺陷还使其成为攻击者在入侵账户中进行持久攻击的有效工具。微软最近的一份报告表明,攻击者正在利用该服务缺乏监控功能的特点,生成特权SAS token作为后门。但由于token的发放在任何地方都没有记录,所以管理员无法对其采取相应的行动。
回答评级:★★★☆☆☆☆☆☆ 回答者:{0009}0009 9-22
回答